# 第 0021题：通常，登陆某个网站或者 APP，需要使用用户名和密码。密码是如何加密后存储起来的呢？请使用 Python 对密码加密。
# 参考：https://www.dlitz.net/software/python-pbkdf2/

from base64 import encode
import re
from pbkdf2 import PBKDF2
import os
import hashlib
from pbkdf2 import crypt

def my_md5(passwod):
    md5=hashlib.md5()
    md5.update(passwod.encode(encoding='utf-8'))
    print(md5.hexdigest())
    return md5.hexdigest()

def my_pbkdf2(passwod):
    key=PBKDF2(passwod,'1').read(32)
    print(key.hex())
    return key.hex()

# 完成pbkdf2加密及验证
def my_crypt():
    # 加密
    pwhash = crypt("secret")
    alleged_pw = input("Enter password: ")
    # 解密
    if pwhash == crypt(alleged_pw,pwhash):
        print("Password good")
    else:
        print("Invalid password")



if __name__ == '__main__':
    my_md5('123456')
    my_pbkdf2('123456')
